package modelo;

import titiritero.Dibujable;
import utilitarios.Cuadrado;
import utilitarios.PuntoXY;
import vistas.VistaCuartel;

public class Cuartel extends ObjetoEstatico {

	private TanqueAlgo defensor;

	public Cuartel(Escenario escenario, PuntoXY posicion, TanqueAlgo defensor) {
		super(escenario);
		this.resistencia = 100;
		this.figura = new Cuadrado(TAMANIO_PIXEL);
		this.setPosicion(posicion);
		this.defensor = defensor;
	}

	@Override
    public Dibujable crearDibujable() {
		VistaCuartel vistaCuartel = new VistaCuartel();
		vistaCuartel.setPosicionable(this);
		return vistaCuartel;
	}

	@Override
    protected void morir() {
		this.defensor.perder();
		this.escenario.eliminarObjeto(this);
	}

	@Override
    public void chocarConAlgoTank(TanqueAlgo unTanque) {
		unTanque.chocarConCuartel(this);
	}

	@Override
    public void chocarConTanqueEnemigo(TanqueEnemigo unTanque) {
		unTanque.chocarConCuartel(this);
	}

	@Override
    public void chocarConProyectil(Proyectil unProyectil) {
		this.recibirDanio(unProyectil.getDanio());
		unProyectil.chocarConCuartel(this);
	}

	@Override
    public void chocarConPared(Pared unaPared) {
	}
	
	protected void resetear() {
	    this.resistencia = 100;
	}

}
